/* Copyright 2018 JDCLOUD.COM

Licensed under the Apache License, Version 2.0 (the "License");
you may not use this file except in compliance with the License.
You may obtain a copy of the License at

http:#www.apache.org/licenses/LICENSE-2.0

Unless required by applicable law or agreed to in writing, software
distributed under the License is distributed on an "AS IS" BASIS,
WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
See the License for the specific language governing permissions and
limitations under the License.

Send-Message-Related-APIs
短信发送相关API

OpenAPI spec version: v1
Contact: 

NOTE: This class is auto generated by the jdcloud code generator program.
*/


#ifndef SmsApiModel_h
#define SmsApiModel_h
#import <JDCloudOCSDKCore/JDCloudOCSDKCore.h>
#import <JDCloudOCSDKSms/SmsModel.h>


@interface SmsStatusReportRequest:JDCloudRequest

/// 发送短信的序列号
@property (strong,nonatomic,nonnull)  NSString*  sequenceNumber;
/// 需要获取回执的手机号码列表，选填
@property (strong,nonatomic,nonnull)  NSArray<NSString*>*  phoneList;
-(id) initWithRegion:(NSString *)regionId
sequenceNumber:(NSString*)sequenceNumber
phoneList:(NSArray<NSString*>*)phoneList;

-(id) initWithRegion:(NSString *)regionId
             version:(NSString *)version
sequenceNumber:(NSString*)sequenceNumber
phoneList:(NSArray<NSString*>*)phoneList;

@end

@interface SmsReplyRequest:JDCloudRequest

/// 应用Id
@property (strong,nonatomic,nonnull)  NSString*  appId;
/// 查询时间
@property (strong,nonatomic,nonnull)  NSString*  dataDate;
/// 手机号列表（选填）
@property (strong,nonatomic,nonnull)  NSArray<NSString*>*  phoneList;
-(id) initWithRegion:(NSString *)regionId
appId:(NSString*)appId
dataDate:(NSString*)dataDate
phoneList:(NSArray<NSString*>*)phoneList;

-(id) initWithRegion:(NSString *)regionId
             version:(NSString *)version
appId:(NSString*)appId
dataDate:(NSString*)dataDate
phoneList:(NSArray<NSString*>*)phoneList;

@end

@interface SmsBatchSendRequest:JDCloudRequest

/// 模板Id
@property (strong,nonatomic,nonnull)  NSString*  templateId;
/// 签名Id
@property (strong,nonatomic,nonnull)  NSString*  signId;
/// 群发的国内电话号码,群发时一次最多不要超过200个手机号
@property (strong,nonatomic,nonnull)  NSArray<NSString*>*  phoneList;
/// 短信模板变量对应的数据值,Array格式
@property (strong,nonatomic,nonnull)  NSArray<NSString*>*  params;
-(id) initWithRegion:(NSString *)regionId
templateId:(NSString*)templateId
signId:(NSString*)signId
phoneList:(NSArray<NSString*>*)phoneList
params:(NSArray<NSString*>*)params;

-(id) initWithRegion:(NSString *)regionId
             version:(NSString *)version
templateId:(NSString*)templateId
signId:(NSString*)signId
phoneList:(NSArray<NSString*>*)phoneList
params:(NSArray<NSString*>*)params;

@end

@interface SmsStatusReportResult : NSObject
/// Data
 @property (strong,nonatomic,nonnull)  NSArray<StatusReportResp*>*  data;
/// 请求状态
 @property (strong,nonatomic,nonnull)  NSNumber*  status;
/// 错误码
 @property (strong,nonatomic,nonnull)  NSString*  code;
/// 错误消息
 @property (strong,nonatomic,nonnull)  NSString*  message;

-(NSMutableDictionary*) dictionary;

-(id) initWithDic:(NSDictionary*)dictionary;
-(id) initWithData:(NSArray<StatusReportResp*>*) data

    status:(NSNumber*)status

    code:(NSString*)code

    message:(NSString*)message;
@end

@interface SmsStatusReportResponse : NSObject

@property NSString* requestId;

@property ServiceError* error;

@property SmsStatusReportResult* result;

-(NSMutableDictionary*) dictionary;

-(id) initWithDic:(NSDictionary*)dictionary;

-(id) initWithRequestId:(NSString*) requestId
        error:(ServiceError*) error
        result:(SmsStatusReportResult*) result;
@end

@interface SmsBatchSendResult : NSObject
/// 指定短信Id群发短信响应参数
 @property (strong,nonatomic,nonnull)  BatchSendResp*  data;
/// 请求状态
 @property (strong,nonatomic,nonnull)  NSNumber*  status;
/// 错误码
 @property (strong,nonatomic,nonnull)  NSString*  code;
/// 错误消息
 @property (strong,nonatomic,nonnull)  NSString*  message;

-(NSMutableDictionary*) dictionary;

-(id) initWithDic:(NSDictionary*)dictionary;
-(id) initWithData:(BatchSendResp*) data

    status:(NSNumber*)status

    code:(NSString*)code

    message:(NSString*)message;
@end

@interface SmsBatchSendResponse : NSObject

@property NSString* requestId;

@property ServiceError* error;

@property SmsBatchSendResult* result;

-(NSMutableDictionary*) dictionary;

-(id) initWithDic:(NSDictionary*)dictionary;

-(id) initWithRequestId:(NSString*) requestId
        error:(ServiceError*) error
        result:(SmsBatchSendResult*) result;
@end

@interface SmsReplyResult : NSObject
/// Data
 @property (strong,nonatomic,nonnull)  NSArray<ReplyResp*>*  data;
/// 请求状态
 @property (strong,nonatomic,nonnull)  NSNumber*  status;
/// 错误码
 @property (strong,nonatomic,nonnull)  NSString*  code;
/// 错误消息
 @property (strong,nonatomic,nonnull)  NSString*  message;

-(NSMutableDictionary*) dictionary;

-(id) initWithDic:(NSDictionary*)dictionary;
-(id) initWithData:(NSArray<ReplyResp*>*) data

    status:(NSNumber*)status

    code:(NSString*)code

    message:(NSString*)message;
@end

@interface SmsReplyResponse : NSObject

@property NSString* requestId;

@property ServiceError* error;

@property SmsReplyResult* result;

-(NSMutableDictionary*) dictionary;

-(id) initWithDic:(NSDictionary*)dictionary;

-(id) initWithRequestId:(NSString*) requestId
        error:(ServiceError*) error
        result:(SmsReplyResult*) result;
@end

#endif /* SmsApiModel_h */
